/**
 * 
 */
package com.autosalon.ui.spravaPujcek.action;

import com.autosalon.DAO.DaoFactory;
import com.autosalon.model.Pujcka;
import com.autosalon.ui.spravaPujcek.SpravaPujcek;
import com.autosalon.ui.spravaPujcek.state.SpravaPujcekStateHolder;
import com.vaadin.ui.Button.ClickEvent;

/**
 * @author Ragisel
 *
 */
public class DeletePujckaAction extends AbstractSpravaPujcekAction{

	private Pujcka vybranaPujcka;
	
	public DeletePujckaAction(SpravaPujcek spravaPujcek) {
		super(spravaPujcek);
	}

	
	@Override
	public void buttonClick(ClickEvent event) {
		
		vybranaPujcka = (Pujcka) DaoFactory
				.getinstance()
				.getPujcka()
				.getById(Long.parseLong(event.getButton().getData().toString()));
		
		int id;
		try {
            DaoFactory.getinstance().getPujcka().delete(vybranaPujcka);
            spravaPujcek.getWindow().showNotification("Půjčka smázana");
            id = spravaPujcek.getSwitcher().getMainWindow().getZakaznik().getRole().getId().intValue();
            spravaPujcek.naplnTabulkuObjednavky();
            SpravaPujcekStateHolder.setState(SpravaPujcekStateHolder.VIEW_PUJCKY_STATE, id, spravaPujcek);
        } catch (NullPointerException e) {
        	id = 1;
            spravaPujcek.getWindow().showNotification("Smazani neprobehlo korektne");
            spravaPujcek.naplnTabulkuObjednavky();
            SpravaPujcekStateHolder.setState(SpravaPujcekStateHolder.VIEW_PUJCKY_STATE, id, spravaPujcek);
        }

	}

}
